/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* Activity Bar */
.monaco-workbench > .activitybar .monaco-action-bar .action-label.debug {
	-webkit-mask: url('debug-dark.svg') no-repeat 50% 50%;
}

.monaco-editor .debug-top-stack-frame-line,
.monaco-editor .debug-top-stack-frame-exception-line {
	background: rgba(255, 255, 102, 0.45);
}

.monaco-editor .debug-top-stack-frame-column::before {
	background: url('current-arrow.svg') center center no-repeat;
}

.monaco-editor .debug-focused-stack-frame-line {
	background: rgba(206, 231, 206, 0.45);
}

.monaco-editor .debug-breakpoint-hint-glyph {
	background: url('breakpoint-hint.svg') center center no-repeat;
}

.monaco-editor .debug-breakpoint-disabled-glyph,
.monaco-editor .debug-breakpoint-column.debug-breakpoint-disabled-glyph-column::before {
	background: url('breakpoint-disabled.svg') center center no-repeat;
}

.monaco-editor .debug-breakpoint-unverified-glyph,
.monaco-editor .debug-breakpoint-column.debug-breakpoint-unverified-glyph-column::before {
	background: url('breakpoint-unverified.svg') center center no-repeat;
}

.monaco-editor .debug-top-stack-frame-glyph {
	background: url('current-arrow.svg') center center no-repeat;
}

.monaco-editor .debug-focused-stack-frame-glyph {
	background: url('stackframe-arrow.svg') center center no-repeat;
}

.monaco-editor .debug-breakpoint-glyph,
.monaco-editor .debug-breakpoint-column.debug-breakpoint-glyph-column::before {
	background: url('breakpoint.svg') center center no-repeat;
}

.monaco-editor .debug-breakpoint-column::before,
.monaco-editor .debug-top-stack-frame-column::before {
	content: " ";
	width: 0.9em;
	height: 0.8em;
	display: inline-block;
	margin-right: 2px;
	margin-left: 2px;
	background-size: 110% !important;
	background-position: initial !important;
}

.monaco-editor .debug-breakpoint-conditional-glyph,
.monaco-editor .debug-breakpoint-column.debug-breakpoint-conditional-glyph-column::before {
	background: url('breakpoint-conditional.svg') center center no-repeat;
}

.monaco-editor .debug-breakpoint-unsupported-glyph,
.monaco-editor .debug-breakpoint-column.debug-breakpoint-unsupported-glyph-column::before {
	background: url('breakpoint-unsupported.svg') center center no-repeat;
}

.monaco-editor .debug-top-stack-frame-glyph.debug-breakpoint-glyph,
.monaco-editor .debug-top-stack-frame-glyph.debug-breakpoint-conditional-glyph,
.monaco-editor .debug-breakpoint-column.debug-breakpoint-glyph-column.debug-top-stack-frame-column::before,
.monaco-editor.vs-dark .debug-top-stack-frame-glyph.debug-breakpoint-glyph,
.monaco-editor.vs-dark .debug-top-stack-frame-glyph.debug-breakpoint-conditional-glyph,
.monaco-editor.vs-dark .debug-breakpoint-column.debug-breakpoint-glyph-column.debug-top-stack-frame-column::before {
	background: url('current-and-breakpoint.svg') center center no-repeat;
}

.monaco-editor .debug-focused-stack-frame-glyph.debug-breakpoint-glyph,
.monaco-editor .debug-focused-stack-frame-glyph.debug-breakpoint-conditional-glyph {
	background: url('stackframe-and-breakpoint.svg') center center no-repeat;
}

/* Error editor */
.debug-error-editor:focus {
	outline: none !important;
}

.debug-error-editor {
	padding: 5px 0 0 10px;
	box-sizing: border-box;
}

/* Expressions */

.monaco-workbench .monaco-tree-row .expression {
	overflow: hidden;
	text-overflow: ellipsis;
	font-family: Monaco, Menlo, Consolas, "Droid Sans Mono", "Inconsolata", "Courier New", monospace, "Droid Sans Fallback";
}

.monaco-workbench.mac .monaco-tree-row .expression {
	font-size: 11px;
}

.monaco-workbench.windows .monaco-tree-row .expression,
.monaco-workbench.linux .monaco-tree-row .expression {
	font-size: 13px;
}

.monaco-workbench .monaco-tree-row .expression .value {
	margin-left: 6px;
}

.monaco-workbench .monaco-tree-row:not(.selected) .expression .name {
	color: #9B46B0;
}

.monaco-workbench > .monaco-tree-row:not(.selected) .expression .value {
	color: rgba(108, 108, 108, 0.8);
}

.monaco-workbench .monaco-tree-row .expression .unavailable {
	font-style: italic;
}

.monaco-workbench .monaco-tree-row:not(.selected) .expression .error {
	color: #E51400;
}

.monaco-workbench .monaco-tree-row:not(.selected) .expression .value.number {
	color: #09885A;
}

.monaco-workbench .monaco-tree-row:not(.selected) .expression .value.boolean {
	color: #0000FF;
}

.monaco-workbench .monaco-tree-row:not(.selected) .expression .value.string {
	color: #A31515;
}

.vs-dark .monaco-workbench  > .monaco-tree-row:not(.selected) .expression .value {
	color: rgba(204, 204, 204, 0.6);
}

.vs-dark .monaco-workbench  .monaco-tree-row:not(.selected) .expression .error {
	color: #F48771;
}

.vs-dark .monaco-workbench  .monaco-tree-row:not(.selected) .expression .value.number {
	color: #B5CEA8;
}

.vs-dark .monaco-workbench  .monaco-tree-row:not(.selected) .expression .value.boolean {
	color: #4E94CE;
}

.vs-dark .monaco-workbench  .monaco-tree-row:not(.selected) .expression .value.string {
	color: #CE9178;
}

.hc-black .monaco-workbench .monaco-tree-row:not(.selected) .expression .error {
	color: #F48771;
}

/* Dark theme */

.vs-dark .monaco-workbench .monaco-tree-row:not(.selected) .expression .name {
	color: #C586C0;
}

.monaco-editor.vs-dark .debug-focused-stack-frame-line {
	background: rgba(122, 189, 122, 0.3);
}

.monaco-editor.vs-dark .debug-top-stack-frame-line,
.monaco-editor.vs-dark .debug-top-stack-frame-exception-line {
	background-color: rgba(255, 255, 0, 0.2)
}

.monaco-editor.vs-dark .debug-breakpoint-glyph,
.monaco-editor.vs-dark .debug-breakpoint-column.debug-breakpoint-glyph-column::before {
	background: url('breakpoint-dark.svg') center center no-repeat;
}

.monaco-editor.vs-dark .debug-breakpoint-conditional-glyph,
.monaco-editor.vs-dark .debug-breakpoint-column.debug-breakpoint-conditional-glyph-column::before {
	background: url('breakpoint-conditional-dark.svg') center center no-repeat;
}

.monaco-editor.vs-dark .debug-breakpoint-unsupported-glyph,
.monaco-editor.vs-dark .debug-breakpoint-column.debug-breakpoint-unsupported-glyph-column::before {
	background: url('breakpoint-unsupported-dark.svg') center center no-repeat;
}

.monaco-editor.vs-dark .debug-breakpoint-disabled-glyph,
.monaco-editor.vs-dark .debug-breakpoint-column.debug-breakpoint-disabled-glyph-column::before {
	background: url('breakpoint-disabled-dark.svg') center center no-repeat;
}

.monaco-editor.vs-dark .debug-breakpoint-unverified-glyph,
.monaco-editor.vs-dark .debug-breakpoint-column.debug-breakpoint-unverified-glyph-column::before {
	background: url('breakpoint-unverified-dark.svg') center center no-repeat;
}

.monaco-editor.vs-dark .debug-focused-stack-frame-glyph {
	background: url('stackframe-arrow-dark.svg') center center no-repeat;
}

.monaco-editor.vs-dark .debug-focused-stack-frame-glyph.debug-breakpoint-glyph,
.monaco-editor.vs-dark .debug-focused-stack-frame-glyph.debug-breakpoint-conditional-glyph {
	background: url('stackframe-and-breakpoint-dark.svg') center center no-repeat;
}

/* High Contrast Theming */

.hc-black .monaco-workbench .monaco-tree-row:not(.selected) .expression .name {
	color: inherit;
}

.hc-black .monaco-editor .debug-top-stack-frame-line {
	background: rgba(255, 246, 0, .8);
	mix-blend-mode: lighten; /* Preserves text selection's contrast */
}